home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / program / cgrphxdv.lha / CGraphX / Autodocs / cybergraphics.doc
Text File  |  1995-12-06  |  31KB  |  915 lines

  1. TABLE OF CONTENTS
  2.  
  3. cybergraphics.library/--background--
  4. cybergraphics.library/AllocCModeListTagList
  5. cybergraphics.library/BestCModeIDTagList
  6. cybergraphics.library/CModeRequestTagList
  7. cybergraphics.library/CVideoCtrlTagList
  8. cybergraphics.library/DoCDrawMethodTagList
  9. cybergraphics.library/FillPixelArray
  10. cybergraphics.library/FreeCModeList
  11. cybergraphics.library/GetCyberMapAttr
  12. cybergraphics.library/GetCyberIDAttr
  13. cybergraphics.library/InvertPixelArray
  14. cybergraphics.library/IsCyberModeID
  15. cybergraphics.library/LockBitMapTagList
  16. cybergraphics.library/MovePixelArray
  17. cybergraphics.library/ReadPixelArray
  18. cybergraphics.library/ReadRGBPixel
  19. cybergraphics.library/ScalePixelArray
  20. cybergraphics.library/WritePixelArray
  21. cybergraphics.library/WriteRGBPixel
  22. cybergraphics.library/UnLockBitMap
  23. cybergraphics.library/--background--      cybergraphics.library/--background--
  24.  
  25.    PURPOSE
  26.     cybergraphics.library is meant to be a gfx board extension for the
  27.     native graphics.library. Because C= never developed a rtg compliant
  28.     graphics.library (up to OS3.1 there are no possibilities to add custom
  29.     boards into the display database in a system friendly fashion), it
  30.     patches some of the original graphics functions in order to integrate
  31.     custom graphics boards into the system.
  32.      It also features some new functions which are not available in the
  33.     standard graphics.library. Currently graphics.library v39 and v40 is
  34.     supported.
  35.      Additionally it is possible to open screens deeper than 256 colours
  36.     which are completely intuition compatible. Nearly every function may
  37.     be used on such screen except some special blits which rely on planar
  38.     bitmap graphics. Also, this screens are 8bit backwards compatible.
  39.     Nearly every standard 8bit application will work on this 15/16/24 bit
  40.     screen. But it only can use the additional features, if it knows of
  41.     CyberGraphX, of course.
  42.      Maybe in a future release of graphics, CyberGraphX will be
  43.     obsolete.  But until then, cybergraphics.library is the only way to
  44.     add truecolour features to your application under an intuition
  45.     environment with minimum effort.
  46.      So, CyberGraphX is not meant to be a replacement for the original
  47.     graphics/intuition system (just like EGS is for example), e.g. there
  48.     is no ECS/AGA native chipset CyberGraphX driver, because all the
  49.     functionality of the original chipset is already given in the
  50.     original graphics.library.
  51.      Because of the different goal CyberGraphX spots in comparison to
  52.     EGS for example, it still may lack some features other systems have
  53.     already but it is perhaps the most system friendly graphics extension
  54.     the amiga computer family has seen so far.
  55.  
  56.     
  57.    OVERVIEW
  58.     This part only describes how to use the extended features of
  59.     CyberGraphX. Anything else about programming graphics can be found
  60.     in the original graphics.library documentation.
  61.  
  62. cybergraphics.library/AllocCModeListTagList cybergraphics.library/AllocCModeListTagList
  63.  
  64.    NAME
  65.     AllocCModeListTagList -- get an exec list with requested modes.
  66.     AllocCModeListTags -- Varargs stub for AllocCModeListTagList
  67.  
  68.    SYNOPSIS
  69.     result = AllocCModeListTagList( TagItems )
  70.     D0                               A1
  71.  
  72.     APTR AllocCModeListTagList( struct TagItem * );
  73.  
  74.     result = AllocCModeListTags( Tag1, ... )
  75.  
  76.     APTR AllocCModeListTags( Tag Tag1, ... );
  77.  
  78.    FUNCTION
  79.     Allocates a list structure which contains all requested modes (All nodes
  80.     are of type CyberModeNode). See defines for more information about the
  81.     structure of this nodes.
  82.  
  83.    INPUTS
  84.     TagItems - pointer to an optional tag list which may be used to
  85.                control the number of returned modes
  86.  
  87.    TAGS
  88.     Tags available are:
  89.  
  90.     CYBRMREQ_MinWidth (ULONG) - The minimum display width to let the user
  91.             choose. Default is 320.
  92.  
  93.     CYBRMREQ_MaxWidth (ULONG) - The maximum display width to let the user
  94.             choose. Default is 1600.
  95.  
  96.     CYBRMREQ_MinHeight (ULONG) - The minimum display height to let the user
  97.             choose. Default is 240.
  98.  
  99.     CYBRMREQ_MaxHeight (ULONG) - The maximum display height to let the user
  100.             choose. Default is 1200.
  101.  
  102.     CYBRMREQ_MinDepth (UWORD) - The minimum display depth to let the user
  103.             choose. Default is 8.
  104.  
  105.     CYBRMREQ_MaxDepth (UWORD) - The maximum display depth to let the user
  106.             choose. Default is 32.
  107.  
  108.     CYBRMREQ_CModelArray (UWORD *) - Array of color models which should be
  109.                     available for screenmode selection. Currently supported
  110.                     colormodels are:
  111.                      PIXFMT_LUT8
  112.                      PIXFMT_RGB15
  113.                      PIXFMT_BGR15
  114.                      PIXFMT_RGB15PC
  115.                      PIXFMT_BGR15PC
  116.                      PIXFMT_RGB16
  117.                      PIXFMT_BGR16
  118.                      PIXFMT_RGB16PC
  119.                      PIXFMT_BGR16PC
  120.                      PIXFMT_RGB24
  121.                      PIXFMT_BGR24
  122.                      PIXFMT_ARGB32
  123.                      PIXFMT_BGRA32
  124.                      PIXFMT_RGBA32
  125.                     default is all colormodels available, nothing filtered
  126.  
  127.    RESULT
  128.     result - 0 if no modes are available, a pointer to a exec list if there
  129.          are modes which fit your needs.
  130.  
  131.    SEE ALSO
  132.     FreeCModeList()
  133.  
  134. cybergraphics.library/BestCModeIDTagList   cybergraphics.library/BestCModeIDTagList
  135.  
  136.    NAME
  137.     BestCModeIDTagList -- calculate the best ModeID with given parameters
  138.     BestCModeIDTags -- Varags stub for BestCModeIDTagList
  139.  
  140.    SYNOPSIS
  141.     ID = BestCModeIDTagList( TagItems )
  142.     D0                          A0
  143.  
  144.         ULONG BestCModeIDTagList( struct TagItem * );
  145.  
  146.     ID = BestCModeIDTags( Tag1, ...)
  147.  
  148.         ULONG BestCModeIDTags( Tag, ... );
  149.  
  150.    FUNCTION
  151.     To determine the CyberGraphX displaymode id which fits best to the
  152.     parameters set in the TagList.
  153.  
  154.    INPUTS
  155.     TagItems - pointer to an array of TagItems
  156.  
  157.    TAGS
  158.         CYBRBIDTG_Depth (ULONG) - depth the returned ModeID must support
  159.                                   Default is 8
  160.  
  161.         CYBRBIDTG_NominalWidth (UWORD),
  162.         CYBRBIDTAG_NominalHeight (UWORD) - desired width and height the ModeID
  163.                                            should have
  164.  
  165.         CYBRBIDTG_MonitorID (ULONG) - if multiple graphics boards are
  166.                                       installed in the system, you can choose
  167.                                       the desired one with this tag
  168.  
  169.                 Currently supported boards are:
  170.  
  171.                     CYBERVISION
  172.                     PICCOLO
  173.                     PICASSO
  174.                     SPECTRUM
  175.                     DOMINO
  176.                     RETINAZ3
  177.                     PICCOSD64
  178.  
  179.    RESULT
  180.     ID - id of the best mode to use, or INVALID_ID if a match could
  181.          not be found.
  182.  
  183.    BUGS
  184.     Older versions return displaymode ids with wrong depth if the
  185.     desired color depth is not available.
  186.  
  187. cybergraphics.library/CModeRequestTagList    cybergraphics.library/CModeRequestTagList
  188.  
  189.    NAME
  190.     CModeRequestTagList -- get screenmode from user using a requester.
  191.     CModeRequestTags -- Varargs stub for CModeRequestTagList
  192.  
  193.    SYNOPSIS
  194.     result = CModeRequestTagList( Requester, TagItems )
  195.     D0                                A0        A1
  196.  
  197.     LONG CModeRequestTagList( APTR, struct TagItem * );
  198.  
  199.     result = CModeRequestTags( Requester, Tag1, ... )
  200.  
  201.     LONG CModeRequestTags( APTR, Tag, ...);
  202.  
  203.    FUNCTION
  204.     Prompts the user for input by showing all available cybergraphics
  205.     screenmodes in a requester.
  206.     If the user cancels or the system aborts the request, FALSE is returned,
  207.     otherwise the displaymode id of the selected screenmode.
  208.  
  209.    INPUTS
  210.     Requester - not used currently. You have to set it to NULL!
  211.     TagItems - pointer to an optional tag list which may be used to
  212.                control features of the requester
  213.  
  214.    TAGS
  215.     Tags used for the screen mode requester
  216.  
  217.     CYBRMREQ_Screen (struct Screen *) - Screen on which to open the requester.
  218.             default locale will be used.
  219.  
  220.     CYBRMREQ_WinTitle (STRPTR) - Title to use for the requesting window.
  221.  
  222.     CYBRMREQ_OKText (STRPTR) - Label of the positive gadget in the
  223.             requester. English default is "OK".
  224.  
  225.     CYBRMREQ_CancelText (STRPTR) - Label of the negative gadget in the
  226.             requester. English default is "Cancel".
  227.  
  228.     CYBRMREQ_MinWidth (ULONG) - The minimum display width to let the user
  229.             choose. Default is 320.
  230.  
  231.     CYBRMREQ_MaxWidth (ULONG) - The maximum display width to let the user
  232.             choose. Default is 1600.
  233.  
  234.     CYBRMREQ_MinHeight (ULONG) - The minimum display height to let the user
  235.             choose. Default is 240.
  236.  
  237.     CYBRMREQ_MaxHeight (ULONG) - The maximum display height to let the user
  238.             choose. Default is 1200.
  239.  
  240.     CYBRMREQ_MinDepth (UWORD) - The minimum display depth to let the user
  241.             choose. Default is 8.
  242.  
  243.     CYBRMREQ_MaxDepth (UWORD) - The maximum display depth to let the user
  244.             choose. Default is 32.
  245.  
  246.     CYBRMREQ_CModelArray (UWORD *) - Array of color models which should
  247.                     be available for screenmode selection. Currently
  248.                     supported colormodels are:
  249.  
  250.             PIXFMT_LUT8
  251.             PIXFMT_RGB15
  252.             PIXFMT_BGR15
  253.             PIXFMT_RGB15PC
  254.             PIXFMT_BGR15PC
  255.             PIXFMT_RGB16
  256.             PIXFMT_BGR16
  257.             PIXFMT_RGB16PC
  258.             PIXFMT_BGR16PC
  259.             PIXFMT_RGB24
  260.             PIXFMT_BGR24
  261.             PIXFMT_ARGB32
  262.             PIXFMT_BGRA32
  263.             PIXFMT_RGBA32
  264.  
  265.             default is all colormodels available, nothing filtered
  266.  
  267.    RESULT
  268.     result - 0 if the user cancelled the requester or if something
  269.          prevented the requester from opening. If!= 0 the displaymode
  270.          id of the selected screenmode is returned.
  271.  
  272.    BUGS
  273.     The requester structure is not supported in (v40).
  274.  
  275.    NOTES
  276.     You should better use asl.library/AslRequest() instead.
  277.  
  278. cybergraphics.library/CVideoCtrlTagList cybergraphics.library/CVideoCtrlTagList
  279.  
  280.    NAME
  281.     CVideoCtrlTagList -- Control video output
  282.     CVideoCtrlTags -- Varargs stub for CVideoCtrlTagList
  283.  
  284.    SYNOPSIS
  285.     CVideoCtrlTagList( ViewPort, TagItems )
  286.                           A0        A1
  287.  
  288.     void CVideoCtrlTagList( struct ViewPort *, struct TagItem * );
  289.  
  290.     CVideoCtrlTags( ViewPort, Tag1, ... )
  291.  
  292.     void CVideoCtrlTags( struct ViewPort *, Tag tag1, ... );
  293.  
  294.    FUNCTION
  295.     This function controls the video output of the gfx board to which the
  296.     specified ViewPort belongs to.
  297.  
  298.    INPUTS
  299.     ViewPort - pointer to a ViewPort of a CyberGraphX screen
  300.     TagItems - taglist to control operation
  301.  
  302.    EXAMPLE
  303.     CVideoCtrlTags (&Scr->ViewPort,SETVC_DPMSLevel,DPMS_OFF,TAG_DONE);
  304.     /* set DPMS level */
  305.  
  306. cybergraphics.library/DoCDrawMethodTagList cybergraphics.library/DoCDrawMethodTagList
  307.  
  308.    NAME
  309.     DoCDrawMethodTagList -- Do the given hook for the supplied rastport
  310.     DoCDrawMethodTags -- Varargs stub for DoCDrawMethodTagList
  311.  
  312.    SYNOPSIS
  313.     DoCDrawMethodTagList( Hook, RastPort, TagItems )
  314.                            A0      A1        A2
  315.  
  316.     void DoCDrawMethodTagList( struct Hook *, struct RastPort *,
  317.                                struct TagItem * )
  318.  
  319.     DoCDrawMethodTags( Hook, RastPort, Tag1, ... )
  320.  
  321.     void DoCDrawMethodTags( struct Hook *, struct RastPort *,
  322.                             Tag1, ... )
  323.  
  324.    FUNCTION
  325.     This function will call the given hook for the given rastport. Is is
  326.     mainly used to do direct bitmap modifications in a locked graphics
  327.     environment. You have to support ALL known color models, so only use
  328.     this call if you really need it!!
  329.     
  330.  
  331.    INPUTS
  332.     Hook - pointer to callback hook which will be called
  333.            with object == (struct RastPort *)
  334.            and message == [ (APTR) memptr,
  335.                             (ULONG) offsetx, (ULONG) offsety,
  336.                             (ULONG) xsize, (ULONG) ysize,
  337.                             (ULONG) bytesperrow, (UWORD) bytesperpix,
  338.                             (UWORD) colormodel]
  339.            Where colormodel is one of the following:
  340.             PIXFMT_LUT8
  341.             PIXFMT_RGB15
  342.             PIXFMT_BGR15
  343.             PIXFMT_RGB15PC
  344.             PIXFMT_BGR15PC
  345.             PIXFMT_RGB16
  346.             PIXFMT_BGR16
  347.             PIXFMT_RGB16PC
  348.             PIXFMT_BGR16PC
  349.             PIXFMT_RGB24
  350.             PIXFMT_BGR24
  351.             PIXFMT_ARGB32
  352.             PIXFMT_BGRA32
  353.             PIXFMT_RGBA32
  354.     RastPort- A pointer to a cybergraphics RastPort
  355.     TagItems - optional taglist, currently not used. Set it to NULL!
  356.  
  357.    NOTES
  358.     Use this call only if you want high speed. Remember that you have to
  359.     handle all color models! Do not use ANY os functions in your hook.
  360.     They would cause unpredictable results.
  361.  
  362. cybergraphics.library/FreeCModeList       cybergraphics.library/FreeCModeList
  363.  
  364.    NAME
  365.     FreeCModeList -- frees a previously allocated ModeList
  366.  
  367.    SYNOPSIS
  368.     FreeCModeList( ModeList );
  369.                       A0
  370.  
  371.     void FreeCModeList( struct List * );
  372.  
  373.    FUNCTION
  374.     frees all data which was previously allocated by AllocCModeListTagList
  375.  
  376.    INPUTS
  377.     ModeList - a list structure which contains all the mode data.
  378.  
  379.    SEE ALSO
  380.     AllocCModeListTagList()
  381.  
  382. cybergraphics.library/GetCyberMapAttr    cybergraphics.library/GetCyberMapAttr
  383.  
  384.    NAME
  385.     GetCyberMapAttr -- Returns information about a cybergraphics bitmap
  386.  
  387.    SYNOPSIS
  388.        value = GetCyberMapAttr( BitMap, Attribute );
  389.         D0                        A0       D1
  390.  
  391.     ULONG GetCyberMapAttr( struct BitMap *, ULONG );
  392.  
  393.    FUNCTION
  394.     Determines information about a extended cybergraphics bitmap.
  395.     This function should be used instead of making any assumptions about
  396.     fields in the bitmap. This will    provide future compatibility.
  397.  
  398.    INPUTS
  399.     BitMap - pointer to a cybergraphics bitmap structure
  400.  
  401.     Attribute - a number telling cybergraphics which attribute
  402.                 of the bitmap should be returned:
  403.  
  404.                 CYBRMATTR_XMOD        returns bytes per row of the
  405.                                       supplied bitmap
  406.  
  407.                 CYBRMATTR_BPPIX       returns number of bytes per pixel
  408.  
  409.                 CYBRMATTR_PIXFMT      return the pixel format of the
  410.                                       bitmap
  411.  
  412.                 CYBRMATTR_WIDTH       return width of the bitmap in
  413.                                       pixels
  414.  
  415.                 CYBRMATTR_HEIGHT      return the height in lines
  416.  
  417.                 CYBRMATTR_DEPTH       returns bits per pixel
  418.  
  419.                 CYBRMATTR_ISCYBERGFX  returns TRUE if supplied bitmap is
  420.                                       a CyberGraphX one
  421.  
  422.                 CYBRMATTR_ISLINEARMEM returns TRUE if the related display
  423.                                       buffer supports linear memory access
  424.  
  425.    NOTES
  426.     Unknown attributes are reserved for future use, and return (-1L).
  427.  
  428.     You should know what you are doing if you call this function!
  429.     Always use the CYBRMATTR_ISCYBERGFX attribute first to check if the
  430.     bitmap is a CyberGraphX one.
  431.  
  432. cybergraphics.library/GetCyberIDAttr    cybergraphics.library/GetCyberIDAttr
  433.  
  434.    NAME
  435.     GetCyberIDAttr -- Returns information about a cybergraphics id
  436.  
  437.    SYNOPSIS
  438.     value = GetCyberIDAttr( Attribute, DisplayModeID )
  439.       D0                       D0            D1
  440.  
  441.     ULONG GetCyberIDAttr( ULONG, ULONG );
  442.  
  443.    FUNCTION
  444.         Determines information about a specified displaymode id.
  445.  
  446.    INPUTS
  447.     Attribute - A number telling cybergraphics which attribute
  448.                 of the displaymode id should be returned:
  449.  
  450.                 CYBRIDATTR_PIXFMT return the pixel format of the supplied
  451.                                   screenmode id
  452.  
  453.                 CYBRIDATTR_WIDTH  returns visible width in pixels
  454.                 CYBRIDATTR_HEIGHT returns visible height in lines
  455.                 CYBRIDATTR_DEPTH  returns bits per pixel
  456.                 CYBRIDATTR_BPPIX  returns bytes per pixel
  457.  
  458.     DisplayModeID - CyberGraphX displaymode id
  459.  
  460.    NOTES
  461.     Unknown attributes are reserved for future use, and return (-1L).
  462.  
  463.     You should know what you are doing if you call this function!
  464.     Don't apply it on a non cybergraphics displaymode!
  465.  
  466. cybergraphics.library/IsCyberModeID       cybergraphics.library/IsCyberModeID
  467.  
  468.    NAME
  469.     IsCyberModeID -- returns whether supplied ModeID is a cybergraphics id
  470.  
  471.    SYNOPSIS
  472.     result = IsCyberModeID( DisplayModeID )
  473.     D0                            D0
  474.  
  475.     BOOL IsCyberModeID( ULONG );
  476.  
  477.    FUNCTION
  478.     returns whether the supplied ModeID is a cybergraphics.library mode
  479.     identifier.
  480.  
  481.    INPUTS
  482.     DisplayModeID -- a 32 bit display identifier.
  483.  
  484.    RESULT
  485.     result - Flag to indicate if DisplayModeID is a CyberGraphX id
  486.  
  487. cybergraphics.library/FillPixelArray     cybergraphics.library/FillPixelArray
  488.  
  489.    NAME
  490.         FillPixelArray -- fill a rectangular area with the supplied ARGB value
  491.     starting at a specified x,y location and continuing through to another
  492.     x,y location within a certain RastPort
  493.  
  494.    SYNOPSIS
  495.     count = FillPixelArray(RastPort,DestX, DestY,SizeX,SizeY,ARGB)
  496.     D0                        A1    D0:16  D1:16 D2:16 D3:16 D4:32
  497.             
  498.  
  499.     LONG FillPixelArray( struct RastPort *, UWORD, UWORD,
  500.                          UWORD, UWORD, ULONG );
  501.  
  502.    FUNCTION
  503.     For each pixel in a rectangular region, write the supplied color value
  504.     into the bitmap used to describe a particular rastport.
  505.  
  506.    INPUTS
  507.     RastPort -  pointer to a RastPort structure
  508.     (DestX,DestY) - starting point in the RastPort
  509.     (SizeX,SizeY) - size of the rectangle that should be transfered
  510.         ARGB  - the desired color in AARRGGBB format. Every component
  511.         allocates 8 bits of the returned longword. The coding is as
  512.         follows:
  513.                  AA - 8-bit alpha channel component
  514.               (set it to 00 if you do not use it!)
  515.                  RR - 8-bit red component of the pixel
  516.                  GG - 8-bit green component
  517.                  BB - 8-bit blue component
  518.  
  519.    RESULT
  520.     count will be set to the number of pixels plotted
  521.  
  522.    NOTES
  523.     This function should only be used on screens depths > 8 bits.
  524.  
  525. cybergraphics.library/InvertPixelArray   cybergraphics.library/InvertPixelArray
  526.  
  527.    NAME
  528.         InvertPixelArray -- invert a rectangular area
  529.  
  530.    SYNOPSIS
  531.     count = InvertPixelArray(RastPort,DestX, DestY,SizeX,SizeY)
  532.     D0               A1     D0:16  D1:16 D2:16 D3:16
  533.             
  534.  
  535.     LONG InvertPixelArray( struct RastPort *, UWORD, UWORD,
  536.                            UWORD,UWORD );
  537.  
  538.    FUNCTION
  539.     Invert each pixel in a rectangular region.
  540.  
  541.    INPUTS
  542.     RastPort -  pointer to a RastPort structure
  543.     (DestX,DestY) - starting point in the RastPort
  544.     (SizeX,SizeY) - size of the rectangle that should be transfered
  545.  
  546.    RESULT
  547.     count will be set to the number of pixels plotted
  548.  
  549.    NOTES
  550.     This function should only be used on screens depths > 8 bits.
  551.  
  552. cybergraphics.library/LockBitmapTagList cybergraphics.library/LockBitMapTagList
  553.  
  554.    NAME
  555.     LockBitMapTagList -- Lock supplied BitMap for a short amount of time
  556.                              to allow direct memory access
  557.  
  558.    SYNOPSIS
  559.     handle = LockBitmapTagList(bitmap,tags);
  560.     D0                           A0    A1
  561.  
  562.     APTR LockBitMapTagList( APTR,struct TagItem * );
  563.  
  564.     APTR LockBitMapTags( APTR,Tag1, ... );
  565.  
  566.    FUNCTION
  567.  
  568.    INPUTS
  569.         bitmap - pointer to a standard bitmap pointer. please check if it is
  570.                  a cybermap by calling GetCyberMapAttr() first.
  571.     tags - pointer to a mandatory taglist who's tagdata pointer fields
  572.                contain valid longwords after a successful call.
  573.  
  574.    TAGS
  575.      Tags used for the screen mode requester
  576.  
  577.     LBMI_WIDTH (ULONG *) - points to a longword which contains the bitmap
  578.                                width after a succesful call
  579.     LBMI_HEIGHT (ULONG *) - points to a longword which contains the bitmap
  580.                                 height after a succesful call
  581.     LBMI_DEPTH (ULONG *) - points to a longword which contains the bitmap
  582.                                depth after a successful call
  583.     LBMI_PIXFMT (ULONG *) - points to a longword which contains the used
  584.                                 pixel format.
  585.  
  586.             Possibly returned colormodels are:
  587.  
  588.             PIXFMT_LUT8
  589.             PIXFMT_RGB15
  590.             PIXFMT_BGR15
  591.             PIXFMT_RGB15PC
  592.             PIXFMT_BGR15PC
  593.             PIXFMT_RGB16
  594.             PIXFMT_BGR16
  595.             PIXFMT_RGB16PC
  596.             PIXFMT_BGR16PC
  597.             PIXFMT_RGB24
  598.             PIXFMT_BGR24
  599.             PIXFMT_ARGB32
  600.             PIXFMT_BGRA32
  601.             PIXFMT_RGBA32
  602.  
  603.     LBMI_BYTESPERPIX (ULONG *) - points to a longword which contains the
  604.                                      amount of bytes per pixel data.
  605.     LBMI_BYTESPERROW (ULONG *) - points to a longword which contains the
  606.                                      number of bytes per row for one bitmap
  607.                                      line
  608.     LBMI_BASEADDRESS (ULONG *) - points to a longword which contains the
  609.                                      bitmap base address. THIS ADDRESS IS ONLY
  610.                                      VALID INSIDE OF THE LOCK/UNLOCKBITMAP
  611.                                      CALL!!!!!!!!!
  612.  
  613.  
  614.    RESULT
  615.     handle - 0 if the bitmap could not be locked,!= 0 it contains a handle
  616.                  which should be passed to UnLockBitMap afterwards
  617.  
  618.    NOTES
  619.         Only use this call if you really NEED the rendering speed, DON'T lock the
  620.         bitmap longer than for one frame. DON'T use any library calls while the
  621.         bitmap is locked! This function is considered low level.
  622.  
  623.    SEE ALSO
  624.     UnLockBitMap()
  625.  
  626. cybergraphics.library/MovePixelArray     cybergraphics.library/MovePixelArray
  627.  
  628.    NAME
  629.         MovePixelArray -- move the color values of a rectangular area of
  630.     pixels starting at a specified x,y location and continuing through
  631.     to another x,y location within a certain RastPort
  632.  
  633.    SYNOPSIS
  634.     count = MovePixelArray(SrcX, SrcY, RastPort,SrcX , SrcY ,SizeX, SizeY)
  635.     D0               D0:16 D1:16  A1      D2:16  D3:16 D4:16  D5:16
  636.  
  637.     LONG MovePixelArray(UWORD,UWORD,struct RastPort *,UWORD,UWORD,UWORD,
  638.                 UWORD)
  639.  
  640.    FUNCTION
  641.     For each pixel in a rectangular region, move the pixel value from a
  642.     specified source to a specified destination
  643.  
  644.    INPUTS
  645.     (SrcX,SrcY) - starting point in the destination rectangle
  646.     RastPort -  pointer to a RastPort structure
  647.     (DestX,DestY) - starting point in the destination rectangle
  648.     (SizeX,SizeY) - size of the rectangle that should be transfered
  649.  
  650.    RESULT
  651.     count will be set to the number of pixels moved
  652.  
  653.    NOTES
  654.     This function should only be used on screens depths > 8 bits.
  655.     The blitter can be used to move the data if the bitmap is in display
  656.     memory. This is why you should use this call.
  657.  
  658. cybergraphics.library/ReadPixelArray     cybergraphics.library/ReadPixelArray
  659.  
  660.    NAME
  661.         ReadPixelArray -- Read the color values of a rectangular array of
  662.     pixels starting at a specified x,y location and continuing through
  663.     to another x,y location within a certain RastPort
  664.  
  665.    SYNOPSIS
  666.     count = ReadPixelArray(destRect,DestX,DestY,DestMod,RastPort,SrcX ,
  667.     D0              A0    D0:16 D1:16 D2:16     A1     D3:16
  668.                 SrcY ,SizeX,SizeY,DestFormat)
  669.                 D4:16 D5:16 D6:16    D7
  670.  
  671.     LONG ReadPixelArray(APTR,UWORD,UWORD,UWORD,struct RastPort *,UWORD,
  672.                 UWORD,UWORD,UWORD,UBYTE)
  673.  
  674.    FUNCTION
  675.     For each pixel in a rectangular region, write the color value to a
  676.     linear array of color values from the bitmap used to describe a
  677.     particular rastport.
  678.  
  679.    INPUTS
  680.     destRect - pointer to an array of pixels where to write the pixel
  681.                data to. The pixel format is specified in DestFormat
  682.     (DestX,DestY) - starting point in the destination rectangle
  683.     DestMod - The number of bytes per row in the destination rectangle.
  684.     RastPort -  pointer to a RastPort structure
  685.     (SrcX,SrcY) - starting point in the RastPort
  686.     (SizeX,SizeY) - size of the rectangle that should be transfered
  687.     DestFormat - pixel format in the destination rectangle
  688.                 Currently supported formats are:
  689.  
  690.                 RECTFMT_RGB  3 bytes per pixel, one byte red, one blue
  691.                              and one byte green component
  692.  
  693.                 RECTFMT_RGBA 4 bytes per pixel, one byte red, one blue,
  694.                              one byte green component and the last
  695.                                  byte is alpha channel information which
  696.                          is 0 if the board does not support alpha
  697.                                  channel
  698.  
  699.                 RECTFMT_ARGB 4 bytes per pixel, one byte red, one blue,
  700.                              one byte green component and the first
  701.                                  byte is alpha channel information. If the
  702.                                  board does not support alpha channel a 
  703.                          0 is returned for alpha channel information
  704.  
  705.    RESULT
  706.     count will be set to the number of pixels read
  707.  
  708.    NOTES
  709.     This function should only be used on screens depths > 8 bits.
  710.  
  711. cybergraphics.library/ReadRGBPixel          cybergraphics.library/ReadRGBPixel
  712.  
  713.    NAME
  714.         ReadRGBPixel -- Reads a pixel from a specified location
  715.  
  716.    SYNOPSIS
  717.         color = ReadRGBPixel(RastPort,x ,y )
  718.         D0                     A1     D0 D1
  719.  
  720.         ULONG ReadRGBPixel(struct RastPort *,UWORD,UWORD);
  721.  
  722.    FUNCTION
  723.     Read the Alpha,Red,Green & Blue 8-bit color value of the pixel at a
  724.     specified x,y location within a certain RastPort
  725.  
  726.    INPUTS
  727.     rp -  pointer to a RastPort structure
  728.         x,y    - the coordinates of the pixel
  729.  
  730.    RESULT
  731.         color  - the desired color in AARRGGBB format. Every component
  732.          allocates 8 bits of the returned longword. The coding is as
  733.          follows:
  734.  
  735.                  AA - 8-bit alpha channel component
  736.               (boards which do not have an alpha channel return 00)
  737.                  RR - 8-bit red component of the pixel
  738.                  GG - 8-bit green component
  739.                  BB - 8-bit blue component
  740.  
  741.   NOTES
  742.     This function should only be used on screens depths > 8 bits. Use
  743.     ReadPixel() on 8 bit screens!
  744.  
  745. cybergraphics.library/ScalePixelArray   cybergraphics.library/ScalePixelArray
  746.  
  747.    NAME
  748.        ScalePixelArray -- Scale the colors values of a rectangular array of
  749.     pixels starting at a specified x,y location and continuing through
  750.     to another x,y location within a certain RastPort (V41)
  751.  
  752.    SYNOPSIS
  753.     count = ScalePixelArray(srcRect,SrcW,SrcH ,SrcMod,RastPort,DestX,
  754.     D0               A0   D0:16 D1:16 D2:16     A1    D3:16
  755.                 DestY,DestW,DestH,SrcFormat)
  756.                 D4:16 D5:16 D6:16    D7
  757.  
  758.     LONG ScalePixelArray(APTR,UWORD,UWORD,UWORD,struct RastPort *,UWORD,
  759.                  UWORD,UWORD,UWORD,UBYTE)
  760.  
  761.    FUNCTION
  762.     For each pixel in a rectangular region, scale the color values from a
  763.     linear array of color values into the bitmap used to describe a
  764.     particular rastport.
  765.  
  766.    INPUTS
  767.     srcRect - pointer to an array of pixels from which to fetch the
  768.               pixel data. The pixel format is specified in SrcFormat
  769.     (SrcW,SrcH) - Width and Height of the source rectangle
  770.     SrcMod - The n umber of bytes per row in the source rectangle.
  771.     RastPort -  pointer to a RastPort structure
  772.     (DestX,DestY) - starting point in the RastPort
  773.     (DestW,DestH) - size of the destination area
  774.     SrcFormat - pixel format in the source rectangle
  775.                 Currently supported formats are:
  776.  
  777.                 RECTFMT_RGB  3 bytes per pixel, one byte red, one blue
  778.                              and one byte green component
  779.  
  780.                 RECTFMT_RGBA 4 bytes per pixel, one byte red, one blue,
  781.                              one byte green component and the last
  782.                                  byte is alpha channel information. If you
  783.                                  do not use alpha channel set this byte to
  784.                          0!!!
  785.  
  786.                 RECTFMT_ARGB 4 bytes per pixel, one byte red, one blue,
  787.                              one byte green component and the first
  788.                                  byte is alpha channel information. If you
  789.                                  do not use alpha channel set this byte to
  790.                          0!!!
  791.  
  792.    RESULT
  793.     count will be set to the number of pixels plotted
  794.  
  795.    NOTES
  796.     This function should only be used on screens depths > 8 bits.
  797.  
  798. cybergraphics.library/WritePixelArray   cybergraphics.library/WritePixelArray
  799.  
  800.    NAME
  801.         WritePixelArray -- write the color value of a rectangular array of
  802.     pixels starting at a specified x,y location and continuing through
  803.     to another x,y location within a certain RastPort
  804.  
  805.    SYNOPSIS
  806.     count = WritePixelArray(srcRect,SrcX ,SrcY ,SrcMod,RastPort,DestX,
  807.     D0               A0   D0:16 D1:16 D2:16     A1    D3:16
  808.                 DestY,SizeX,SizeY,SrcFormat)
  809.                 D4:16 D5:16 D6:16    D7
  810.  
  811.     LONG WritePixelArray(APTR,UWORD,UWORD,UWORD,struct RastPort *,UWORD,
  812.                  UWORD,UWORD,UWORD,UBYTE)
  813.  
  814.    FUNCTION
  815.     For each pixel in a rectangular region, write the color value from a
  816.     linear array of color values into the bitmap used to describe a
  817.     particular rastport.
  818.  
  819.    INPUTS
  820.     srcRect - pointer to an array of pixels from which to fetch the
  821.               pixel data. The pixel format is specified in SrcFormat
  822.     (SrcX,SrcY) - starting point in the source rectangle
  823.     SrcMod - The number of bytes per row in the source rectangle.
  824.     RastPort -  pointer to a RastPort structure
  825.     (DestX,DestY) - starting point in the RastPort
  826.     (SizeX,SizeY) - size of the rectangle that should be transfered
  827.     SrcFormat - pixel format in the source rectangle
  828.                 Currently supported formats are:
  829.  
  830.                 RECTFMT_RGB   3 bytes per pixel, one byte red, one blue
  831.                               and one byte green component
  832.  
  833.                 RECTFMT_RGBA  4 bytes per pixel, one byte red, one
  834.                               blue, one byte green component and the
  835.                               last byte is alpha channel information.
  836.                               If you do not use alpha channel set this
  837.                               byte to 0!!!
  838.  
  839.                 RECTFMT_ARGB  4 bytes per pixel, one byte red, one
  840.                               blue, one byte green component and the
  841.                               first byte is alpha channel information.
  842.                               If you do not use alpha channel set this
  843.                               byte to 0!!!
  844.  
  845.                 RECTFMT_LUT8  1 byte per pixel, specifying the pen
  846.                                   number. On screen depths > 8 bits the
  847.                               data is converted using the actual color
  848.                               lookup table.
  849.  
  850.                 RECTFMT_GREY8 1 byte per pixel, specifying grey scale
  851.                               value.
  852.  
  853.    RESULT
  854.     count will be set to the number of pixels plotted
  855.  
  856.    NOTES
  857.     Only RECTFMT_LUT8 can be used on screen depths <= 8 bits.
  858.  
  859. cybergraphics.library/WriteRGBPixel        cybergraphics.library/WriteRGBPixel
  860.  
  861.    NAME
  862.         WriteRGBPixel -- Writes a pixel to a specified location
  863.  
  864.    SYNOPSIS
  865.         error = WriteRGBPixel(RastPort,x ,y ,color)
  866.         D0                      A1     D0 D1 D2
  867.  
  868.         ULONG WriteRGBPixel(struct RastPort *,UWORD,UWORD,ULONG);
  869.  
  870.    FUNCTION
  871.     Write the Alpha,Red,Green & Blue 8-bit color value of the given color
  872.     to a specified x,y location within a certain RastPort
  873.  
  874.    INPUTS
  875.     rp     - pointer to a RastPort structure
  876.         x,y    - the coordinates of the pixel
  877.         color  - the desired color in AARRGGBB format. Every component
  878.          allocates 8 bits of the returned longword. The coding is as
  879.          follows:
  880.  
  881.                  AA - 8-bit alpha channel component
  882.               (set it to 00 if you dont want to use it!)
  883.                  RR - 8-bit red component of the pixel
  884.                  GG - 8-bit green component
  885.                  BB - 8-bit blue component
  886.  
  887.    RESULT
  888.     error = 0 if pixel succesfully changed
  889.           = -1 if (x,y) is outside the rastport
  890.  
  891.    NOTES
  892.     This function should only be used on screens depths > 8 bits. Use
  893.     WritePixel() on 8 bit screens!
  894.  
  895. cybergraphics.library/UnLockBitmap           cybergraphics.library/UnLockBitMap
  896.  
  897.    NAME
  898.     UnLockBitMap -- UnLock CyberGraphX BitMap that was previously locked
  899.  
  900.    SYNOPSIS
  901.     UnLockBitmap( Handle )
  902.                         A0
  903.  
  904.     void UnLockBitMap( APTR );
  905.  
  906.    FUNCTION
  907.         UnLock CyberGraphX BitMap that was previously locked
  908.  
  909.    INPUTS
  910.         handle - handle to the previously locked BitMap
  911.  
  912.    SEE ALSO
  913.     LockBitMapTagList()
  914.  
  915.